package com.example.demo.web;

import com.example.demo.pojo.User;
import com.example.demo.util.Result;
import com.example.demo.util.ResultCode;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

@RestController
@RequestMapping("/result")
public class ResultController {

    @RequestMapping("/aaa")
    public Result hello(){
        System.out.println("hello方法被调用了");

        // 就是会产生异常的代码
        int i = 1/0;

        // 希望得到一个字符串的返回
        String data = "hello,springmvc";
        // 需要一个带数据的成功的结果的返回
        return Result.success(data);
    }

    @RequestMapping("/bbb")
    public Result user(){
        User u = new User();
        u.setName("张三");
        u.setAge(18);
        // 来一个失败带数据的
        return Result.failure(ResultCode.UNKNOWN_ERROR,u);
    }

    // method用来指定只能使用什么方法（post）
    // 一分钟时间，测试一下这个限制请求方法
    @RequestMapping(value = "/ccc",method = RequestMethod.POST)
    public Result List(){
        List<String> list = new ArrayList<>();
        list.add("张三");
        list.add("李四");
        list.add("王五");
        list.add("赵六");
        // 来一个自定义的返回状态
        return Result.action(9999,"大满贯");
    }
}
